package com.mdb.open.trade.domain.bo.trade;


/*
* Copyright (C), 2017-2019 澳发科技(MDB)
* FileName: TfTradeFileBasicInfoService.java
* Author:   you.yichao
* Date:     2019-08-08
* History:
* <author>          <time>          <version>          <desc>
* you.yichao         2019-08-08          V1.00             代码生成器初始生成代码
* -----------------------------------------------------------
* 作者姓名           修改时间           版本号            描述
*/

import com.mdb.bc.api.data.DataObjectBase;
import com.mdb.open.common.enums.trade.status.LoanApplyExportFileStatusEnum;
import com.mdb.open.common.enums.trade.status.TradeFileApplyStatusEnum;
import com.mdb.open.common.enums.trade.status.TradeFileStatusEnum;
import com.mdb.open.common.enums.trade.type.BusinessTypeEnum;
import com.mdb.open.common.enums.trade.type.TradeSourceTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* 类描述：
*  融资档案业务基本资料表数据传输类
*
* @author you.yichao
* @date 2019-08-08
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="TradeFileTempBasicInfoBo", description="融资档案业务基本资料暂存表Bo对象")
public class TradeFileTempBasicInfoBo extends DataObjectBase {

    private static final long serialVersionUID = 1L;

    /**
    * 融资档案编号
    */
    @ApiModelProperty(value = "融资档案编号")
    private String tradeFileNo;

    /**
     * 客户编码
     */
    @ApiModelProperty(value = "客户编码")
    private String customerCode;

    /**
     * 商户客户编码
     */
    private String mcustomerCode;

    /**
     * 客户名称
     */
    @ApiModelProperty(value = "客户名称")
    private String customerName;

    /**
    * 商户编号
    */
    @ApiModelProperty(value = "商户编号")
    @NotBlank(message = "商户编号不允许为空")
    private String merchantNo;

    /**
     * 商户名称
     */
    @ApiModelProperty(value = "商户名称")
    @NotBlank(message = "商户名称不允许为空")
    private String merchantName;

    /**
    * 业务编号
    */
    @ApiModelProperty(value = "业务编号")
    @NotBlank(message = "业务编号不允许为空")
    private String businessNo;

    /**
    * 业务模式
    */
    @ApiModelProperty(value = "业务模式")
    private BusinessTypeEnum businessType;

    /**
    * 进口方中文名称
    */
    @ApiModelProperty(value = "进口方中文名称")
    private String importerCnName;

    /**
    * 进口方英文名称
    */
    @ApiModelProperty(value = "进口方英文名称")
    private String importerEnName;

    /**
    * 进口方地址
    */
    @ApiModelProperty(value = "进口方地址")
    private String importerAddress;

    /**
     * 报关金额
     */
    @ApiModelProperty(value = "报关金额")
    private BigDecimal customsAmount;

    /**
     * 报关时间
     */
    @ApiModelProperty(value = "报关时间")
    private LocalDateTime customsTime;

    /**
     * 报关次数
     */
    @ApiModelProperty(value = "报关次数")
    private Integer customsCnt;


    /**
     * 合同金额
     */
    @ApiModelProperty(value = "合同金额")
    private BigDecimal contractAmount;

    /**
     * 合同币种
     */
    @ApiModelProperty(value = "合同币种")
    private String contractCcy;


    /**
     * 商品金额
     */
    @ApiModelProperty(value = "商品金额")
    private BigDecimal itemsAmount;

    /**
     * 数据来源类型
     */
    @ApiModelProperty(value = "数据来源类型")
    private TradeSourceTypeEnum sourceType;

    /**
     * 贸易档案状态
     */
    @ApiModelProperty(value = "贸易档案状态")
    private TradeFileStatusEnum status;

    /**
     * 申请状态
     */
    @ApiModelProperty(value = "申请状态")
    private TradeFileApplyStatusEnum applyStatus;

    /**
     * 出口核销单状态
     */
    @ApiModelProperty(value = "出口核销单状态")
    private LoanApplyExportFileStatusEnum exportVeriStatus;


}
